home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / JTextComponent.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  17.9 KB  |  724 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.AWTEvent;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Dimension;
  8. import java.awt.Insets;
  9. import java.awt.LayoutManager;
  10. import java.awt.Point;
  11. import java.awt.Rectangle;
  12. import java.awt.datatransfer.Clipboard;
  13. import java.awt.datatransfer.ClipboardOwner;
  14. import java.awt.datatransfer.DataFlavor;
  15. import java.awt.datatransfer.StringSelection;
  16. import java.awt.datatransfer.Transferable;
  17. import java.awt.event.ActionEvent;
  18. import java.awt.event.InputEvent;
  19. import java.awt.event.KeyEvent;
  20. import java.io.IOException;
  21. import java.io.ObjectInputStream;
  22. import java.io.Reader;
  23. import java.io.Writer;
  24. import java.util.Hashtable;
  25. import javax.accessibility.Accessible;
  26. import javax.accessibility.AccessibleContext;
  27. import javax.swing.Action;
  28. import javax.swing.JComponent;
  29. import javax.swing.JViewport;
  30. import javax.swing.KeyStroke;
  31. import javax.swing.Scrollable;
  32. import javax.swing.UIManager;
  33. import javax.swing.event.CaretEvent;
  34. import javax.swing.event.CaretListener;
  35. import javax.swing.plaf.TextUI;
  36.  
  37. public abstract class JTextComponent extends JComponent implements Scrollable, Accessible {
  38.    public static final String FOCUS_ACCELERATOR_KEY = "focusAcceleratorKey";
  39.    private Document model;
  40.    private transient Caret caret;
  41.    private transient Highlighter highlighter;
  42.    private transient Keymap keymap;
  43.    private boolean opaque;
  44.    private transient MutableCaretEvent caretEvent;
  45.    private Color caretColor;
  46.    private Color selectionColor;
  47.    private Color selectedTextColor;
  48.    private Color disabledTextColor;
  49.    private boolean editable;
  50.    private Insets margin;
  51.    private char focusAccelerator;
  52.    private Action focusAction = new FocusAction(this);
  53.    private static ClipboardOwner defaultClipboardOwner = new ClipboardObserver();
  54.    private static Hashtable keymapTable = null;
  55.    private JTextComponent editor;
  56.    private static JTextComponent focusedComponent;
  57.    public static final String DEFAULT_KEYMAP = "default";
  58.    static final KeyBinding[] defaultBindings = new KeyBinding[]{new KeyBinding(KeyStroke.getKeyStroke(8, 0), "delete-previous"), new KeyBinding(KeyStroke.getKeyStroke(127, 0), "delete-next"), new KeyBinding(KeyStroke.getKeyStroke(39, 0), "caret-forward"), new KeyBinding(KeyStroke.getKeyStroke(37, 0), "caret-backward")};
  59.    // $FF: synthetic field
  60.    static Class class$javax$swing$event$CaretListener;
  61.  
  62.    static {
  63.       try {
  64.          keymapTable = new Hashtable(17);
  65.          Keymap var0 = addKeymap("default", (Keymap)null);
  66.          var0.setDefaultAction(new DefaultEditorKit.DefaultKeyTypedAction());
  67.          DefaultEditorKit var1 = new DefaultEditorKit();
  68.          loadKeymap(var0, defaultBindings, ((EditorKit)var1).getActions());
  69.       } catch (Throwable var2) {
  70.          var2.printStackTrace();
  71.          keymapTable = new Hashtable(17);
  72.       }
  73.  
  74.    }
  75.  
  76.    public JTextComponent() {
  77.       ((Component)this).enableEvents(8L);
  78.       this.caretEvent = new MutableCaretEvent(this);
  79.       ((Component)this).addMouseListener(this.caretEvent);
  80.       ((Component)this).addFocusListener(this.caretEvent);
  81.       this.setEditable(true);
  82.       ((Container)this).setLayout((LayoutManager)null);
  83.       this.updateUI();
  84.    }
  85.  
  86.    // $FF: synthetic method
  87.    static Document access$0(JTextComponent var0) {
  88.       return var0.model;
  89.    }
  90.  
  91.    // $FF: synthetic method
  92.    static JTextComponent access$1() {
  93.       return focusedComponent;
  94.    }
  95.  
  96.    // $FF: synthetic method
  97.    static void access$2(JTextComponent var0) {
  98.       focusedComponent = var0;
  99.    }
  100.  
  101.    public void addCaretListener(CaretListener var1) {
  102.       super.listenerList.add(class$javax$swing$event$CaretListener != null ? class$javax$swing$event$CaretListener : (class$javax$swing$event$CaretListener = class$("javax.swing.event.CaretListener")), var1);
  103.    }
  104.  
  105.    public static Keymap addKeymap(String var0, Keymap var1) {
  106.       DefaultKeymap var2 = new DefaultKeymap(var0, var1);
  107.       if (var0 != null) {
  108.          keymapTable.put(var0, var2);
  109.       }
  110.  
  111.       return var2;
  112.    }
  113.  
  114.    // $FF: synthetic method
  115.    static Class class$(String var0) {
  116.       try {
  117.          return Class.forName(var0);
  118.       } catch (ClassNotFoundException var2) {
  119.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  120.       }
  121.    }
  122.  
  123.    public void copy() {
  124.       try {
  125.          Clipboard var1 = ((Component)this).getToolkit().getSystemClipboard();
  126.          int var2 = Math.min(this.caret.getDot(), this.caret.getMark());
  127.          int var3 = Math.max(this.caret.getDot(), this.caret.getMark());
  128.          if (var2 != var3) {
  129.             Document var4 = this.getDocument();
  130.             String var5 = var4.getText(var2, var3 - var2);
  131.             StringSelection var6 = new StringSelection(var5);
  132.             var1.setContents(var6, defaultClipboardOwner);
  133.          }
  134.       } catch (BadLocationException var7) {
  135.       }
  136.  
  137.    }
  138.  
  139.    public void cut() {
  140.       if (this.isEditable() && ((Component)this).isEnabled()) {
  141.          try {
  142.             Clipboard var1 = ((Component)this).getToolkit().getSystemClipboard();
  143.             int var2 = Math.min(this.caret.getDot(), this.caret.getMark());
  144.             int var3 = Math.max(this.caret.getDot(), this.caret.getMark());
  145.             if (var2 != var3) {
  146.                Document var4 = this.getDocument();
  147.                String var5 = var4.getText(var2, var3 - var2);
  148.                StringSelection var6 = new StringSelection(var5);
  149.                var1.setContents(var6, defaultClipboardOwner);
  150.                var4.remove(var2, var3 - var2);
  151.             }
  152.          } catch (BadLocationException var7) {
  153.          }
  154.       } else {
  155.          ((Component)this).getToolkit().beep();
  156.       }
  157.  
  158.    }
  159.  
  160.    protected void fireCaretUpdate(CaretEvent var1) {
  161.       Object[] var2 = super.listenerList.getListenerList();
  162.  
  163.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  164.          if (var2[var3] == (class$javax$swing$event$CaretListener != null ? class$javax$swing$event$CaretListener : (class$javax$swing$event$CaretListener = class$("javax.swing.event.CaretListener")))) {
  165.             ((CaretListener)var2[var3 + 1]).caretUpdate(var1);
  166.          }
  167.       }
  168.  
  169.    }
  170.  
  171.    public AccessibleContext getAccessibleContext() {
  172.       if (super.accessibleContext == null) {
  173.          super.accessibleContext = new AccessibleJTextComponent(this);
  174.       }
  175.  
  176.       return super.accessibleContext;
  177.    }
  178.  
  179.    public Action[] getActions() {
  180.       return this.getUI().getEditorKit(this).getActions();
  181.    }
  182.  
  183.    public Caret getCaret() {
  184.       return this.caret;
  185.    }
  186.  
  187.    public Color getCaretColor() {
  188.       return this.caretColor;
  189.    }
  190.  
  191.    public int getCaretPosition() {
  192.       return this.caret.getDot();
  193.    }
  194.  
  195.    public Color getDisabledTextColor() {
  196.       return this.disabledTextColor;
  197.    }
  198.  
  199.    public Document getDocument() {
  200.       return this.model;
  201.    }
  202.  
  203.    public char getFocusAccelerator() {
  204.       return this.focusAccelerator;
  205.    }
  206.  
  207.    static final JTextComponent getFocusedComponent() {
  208.       return focusedComponent;
  209.    }
  210.  
  211.    public Highlighter getHighlighter() {
  212.       return this.highlighter;
  213.    }
  214.  
  215.    public Keymap getKeymap() {
  216.       return this.keymap;
  217.    }
  218.  
  219.    public static Keymap getKeymap(String var0) {
  220.       return (Keymap)keymapTable.get(var0);
  221.    }
  222.  
  223.    public Insets getMargin() {
  224.       return this.margin;
  225.    }
  226.  
  227.    public Dimension getPreferredScrollableViewportSize() {
  228.       return ((JComponent)this).getPreferredSize();
  229.    }
  230.  
  231.    public int getScrollableBlockIncrement(Rectangle var1, int var2, int var3) {
  232.       switch (var2) {
  233.          case 0:
  234.             return var1.width;
  235.          case 1:
  236.             return var1.height;
  237.          default:
  238.             throw new IllegalArgumentException("Invalid orientation: " + var2);
  239.       }
  240.    }
  241.  
  242.    public boolean getScrollableTracksViewportHeight() {
  243.       if (((Component)this).getParent() instanceof JViewport) {
  244.          return ((JViewport)((Component)this).getParent()).getHeight() > ((JComponent)this).getPreferredSize().height;
  245.       } else {
  246.          return false;
  247.       }
  248.    }
  249.  
  250.    public boolean getScrollableTracksViewportWidth() {
  251.       if (((Component)this).getParent() instanceof JViewport) {
  252.          return ((JViewport)((Component)this).getParent()).getWidth() > ((JComponent)this).getPreferredSize().width;
  253.       } else {
  254.          return false;
  255.       }
  256.    }
  257.  
  258.    public int getScrollableUnitIncrement(Rectangle var1, int var2, int var3) {
  259.       switch (var2) {
  260.          case 0:
  261.             return var1.width / 10;
  262.          case 1:
  263.             return var1.height / 10;
  264.          default:
  265.             throw new IllegalArgumentException("Invalid orientation: " + var2);
  266.       }
  267.    }
  268.  
  269.    public String getSelectedText() {
  270.       String var1 = null;
  271.       int var2 = Math.min(this.caret.getDot(), this.caret.getMark());
  272.       int var3 = Math.max(this.caret.getDot(), this.caret.getMark());
  273.       if (var2 != var3) {
  274.          try {
  275.             Document var4 = this.getDocument();
  276.             var1 = var4.getText(var2, var3 - var2);
  277.          } catch (BadLocationException var5) {
  278.             throw new IllegalArgumentException(((Throwable)var5).getMessage());
  279.          }
  280.       }
  281.  
  282.       return var1;
  283.    }
  284.  
  285.    public Color getSelectedTextColor() {
  286.       return this.selectedTextColor;
  287.    }
  288.  
  289.    public Color getSelectionColor() {
  290.       return this.selectionColor;
  291.    }
  292.  
  293.    public int getSelectionEnd() {
  294.       int var1 = Math.max(this.caret.getDot(), this.caret.getMark());
  295.       return var1;
  296.    }
  297.  
  298.    int getSelectionEnd(Position.Bias[] var1) {
  299.       DefaultCaret var2 = (DefaultCaret)this.caret;
  300.       if (var2.getDot() > var2.getMark()) {
  301.          var1[0] = var2.getDotBias();
  302.          return var2.getDot();
  303.       } else {
  304.          var1[0] = var2.getMarkBias();
  305.          return var2.getMark();
  306.       }
  307.    }
  308.  
  309.    public int getSelectionStart() {
  310.       int var1 = Math.min(this.caret.getDot(), this.caret.getMark());
  311.       return var1;
  312.    }
  313.  
  314.    int getSelectionStart(Position.Bias[] var1) {
  315.       DefaultCaret var2 = (DefaultCaret)this.caret;
  316.       if (var2.getDot() < var2.getMark()) {
  317.          var1[0] = var2.getDotBias();
  318.          return var2.getDot();
  319.       } else {
  320.          var1[0] = var2.getMarkBias();
  321.          return var2.getMark();
  322.       }
  323.    }
  324.  
  325.    public String getText() {
  326.       Document var1 = this.getDocument();
  327.  
  328.       String var2;
  329.       try {
  330.          var2 = var1.getText(0, var1.getLength());
  331.       } catch (BadLocationException var3) {
  332.          var2 = null;
  333.       }
  334.  
  335.       return var2;
  336.    }
  337.  
  338.    public String getText(int var1, int var2) throws BadLocationException {
  339.       return this.getDocument().getText(var1, var2);
  340.    }
  341.  
  342.    public TextUI getUI() {
  343.       return (TextUI)super.ui;
  344.    }
  345.  
  346.    public boolean isEditable() {
  347.       return this.editable;
  348.    }
  349.  
  350.    public boolean isFocusTraversable() {
  351.       return ((Component)this).isEnabled();
  352.    }
  353.  
  354.    public boolean isOpaque() {
  355.       return this.opaque;
  356.    }
  357.  
  358.    public static void loadKeymap(Keymap var0, KeyBinding[] var1, Action[] var2) {
  359.       Hashtable var3 = new Hashtable();
  360.  
  361.       for(int var4 = 0; var4 < var2.length; ++var4) {
  362.          Action var5 = var2[var4];
  363.          String var6 = (String)var5.getValue("Name");
  364.          var3.put(var6 != null ? var6 : "", var5);
  365.       }
  366.  
  367.       for(int var7 = 0; var7 < var1.length; ++var7) {
  368.          Action var8 = (Action)var3.get(var1[var7].actionName);
  369.          if (var8 != null) {
  370.             var0.addActionForKeyStroke(var1[var7].key, var8);
  371.          }
  372.       }
  373.  
  374.    }
  375.  
  376.    private final boolean mapEventToAction(KeyEvent var1) {
  377.       Keymap var2 = this.getKeymap();
  378.       if (var2 != null) {
  379.          KeyStroke var3 = KeyStroke.getKeyStrokeForEvent(var1);
  380.          Action var4 = var2.getAction(var3);
  381.          if (var4 != null) {
  382.             String var5 = null;
  383.             if (var1.getKeyChar() != 0) {
  384.                var5 = String.valueOf(var1.getKeyChar());
  385.             }
  386.  
  387.             ActionEvent var6 = new ActionEvent(this, 1001, var5, ((InputEvent)var1).getModifiers());
  388.             var4.actionPerformed(var6);
  389.             ((InputEvent)var1).consume();
  390.             return true;
  391.          }
  392.       }
  393.  
  394.       return false;
  395.    }
  396.  
  397.    public Rectangle modelToView(int var1) throws BadLocationException {
  398.       return this.getUI().modelToView(this, var1);
  399.    }
  400.  
  401.    public void moveCaretPosition(int var1) {
  402.       this.caret.moveDot(var1);
  403.    }
  404.  
  405.    protected String paramString() {
  406.       String var1 = this.opaque ? "true" : "false";
  407.       String var2 = this.editable ? "true" : "false";
  408.       String var3 = this.caretColor != null ? this.caretColor.toString() : "";
  409.       String var4 = this.selectionColor != null ? this.selectionColor.toString() : "";
  410.       String var5 = this.selectedTextColor != null ? this.selectedTextColor.toString() : "";
  411.       String var6 = this.disabledTextColor != null ? this.disabledTextColor.toString() : "";
  412.       String var7 = this.margin != null ? this.margin.toString() : "";
  413.       return super.paramString() + ",caretColor=" + var3 + ",disabledTextColor=" + var6 + ",editable=" + var2 + ",margin=" + var7 + ",opaque=" + var1 + ",selectedTextColor=" + var5 + ",selectionColor=" + var4;
  414.    }
  415.  
  416.    public void paste() {
  417.       Clipboard var1 = ((Component)this).getToolkit().getSystemClipboard();
  418.       Transferable var2 = var1.getContents(this);
  419.       if (var2 != null) {
  420.          try {
  421.             String var3 = (String)var2.getTransferData(DataFlavor.stringFlavor);
  422.             this.replaceSelection(var3);
  423.          } catch (Exception var4) {
  424.             ((Component)this).getToolkit().beep();
  425.          }
  426.       }
  427.  
  428.    }
  429.  
  430.    protected void processComponentKeyEvent(KeyEvent var1) {
  431.       int var2 = ((AWTEvent)var1).getID();
  432.       switch (var2) {
  433.          case 400:
  434.             if (!this.mapEventToAction(var1)) {
  435.                Keymap var3 = this.getKeymap();
  436.                if (var3 != null) {
  437.                   Action var4 = var3.getDefaultAction();
  438.                   if (var4 != null) {
  439.                      ActionEvent var5 = new ActionEvent(this, 1001, String.valueOf(var1.getKeyChar()), ((InputEvent)var1).getModifiers());
  440.                      var4.actionPerformed(var5);
  441.                      ((InputEvent)var1).consume();
  442.                   }
  443.                }
  444.             }
  445.             break;
  446.          case 401:
  447.             this.mapEventToAction(var1);
  448.             break;
  449.          case 402:
  450.             this.mapEventToAction(var1);
  451.       }
  452.  
  453.    }
  454.  
  455.    public void read(Reader var1, Object var2) throws IOException {
  456.       EditorKit var3 = this.getUI().getEditorKit(this);
  457.       Document var4 = var3.createDefaultDocument();
  458.       if (var2 != null) {
  459.          var4.putProperty("stream", var2);
  460.       }
  461.  
  462.       try {
  463.          var3.read(var1, var4, 0);
  464.          this.setDocument(var4);
  465.       } catch (BadLocationException var6) {
  466.          throw new IOException(((Throwable)var6).getMessage());
  467.       }
  468.    }
  469.  
  470.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  471.       var1.defaultReadObject();
  472.       this.caretEvent = new MutableCaretEvent(this);
  473.       ((Component)this).addMouseListener(this.caretEvent);
  474.       ((Component)this).addFocusListener(this.caretEvent);
  475.    }
  476.  
  477.    public void removeCaretListener(CaretListener var1) {
  478.       super.listenerList.remove(class$javax$swing$event$CaretListener != null ? class$javax$swing$event$CaretListener : (class$javax$swing$event$CaretListener = class$("javax.swing.event.CaretListener")), var1);
  479.    }
  480.  
  481.    public static Keymap removeKeymap(String var0) {
  482.       return (Keymap)keymapTable.remove(var0);
  483.    }
  484.  
  485.    public void removeNotify() {
  486.       super.removeNotify();
  487.       if (focusedComponent == this) {
  488.          focusedComponent = null;
  489.       }
  490.  
  491.    }
  492.  
  493.    public void replaceSelection(String var1) {
  494.       Document var2 = this.getDocument();
  495.       if (var2 != null) {
  496.          try {
  497.             int var3 = Math.min(this.caret.getDot(), this.caret.getMark());
  498.             int var4 = Math.max(this.caret.getDot(), this.caret.getMark());
  499.             if (var3 != var4) {
  500.                var2.remove(var3, var4 - var3);
  501.             }
  502.  
  503.             if (var1 != null && var1.length() > 0) {
  504.                var2.insertString(var3, var1, (AttributeSet)null);
  505.             }
  506.          } catch (BadLocationException var5) {
  507.             ((Component)this).getToolkit().beep();
  508.          }
  509.       }
  510.  
  511.    }
  512.  
  513.    public void select(int var1, int var2) {
  514.       if (var1 < 0) {
  515.          var1 = 0;
  516.       }
  517.  
  518.       if (var2 > this.getDocument().getLength()) {
  519.          var2 = this.getDocument().getLength();
  520.       }
  521.  
  522.       if (var2 < var1) {
  523.          var2 = var1;
  524.       }
  525.  
  526.       if (var1 > var2) {
  527.          var1 = var2;
  528.       }
  529.  
  530.       this.setCaretPosition(var1);
  531.       this.moveCaretPosition(var2);
  532.    }
  533.  
  534.    public void selectAll() {
  535.       Document var1 = this.getDocument();
  536.       if (var1 != null) {
  537.          this.setCaretPosition(0);
  538.          this.moveCaretPosition(var1.getLength());
  539.       }
  540.  
  541.    }
  542.  
  543.    public void setCaret(Caret var1) {
  544.       if (this.caret != null) {
  545.          this.caret.removeChangeListener(this.caretEvent);
  546.          this.caret.deinstall(this);
  547.       }
  548.  
  549.       Caret var2 = this.caret;
  550.       this.caret = var1;
  551.       if (this.caret != null) {
  552.          this.caret.install(this);
  553.          this.caret.addChangeListener(this.caretEvent);
  554.       }
  555.  
  556.       ((JComponent)this).firePropertyChange("caret", var2, this.caret);
  557.    }
  558.  
  559.    public void setCaretColor(Color var1) {
  560.       Color var2 = this.caretColor;
  561.       this.caretColor = var1;
  562.       ((JComponent)this).firePropertyChange("caretColor", var2, this.caretColor);
  563.    }
  564.  
  565.    public void setCaretPosition(int var1) {
  566.       Document var2 = this.getDocument();
  567.       if (var2 != null) {
  568.          if (var1 > var2.getLength() || var1 < 0) {
  569.             throw new IllegalArgumentException("bad position: " + var1);
  570.          }
  571.  
  572.          this.caret.setDot(var1);
  573.       }
  574.  
  575.    }
  576.  
  577.    public void setDisabledTextColor(Color var1) {
  578.       Color var2 = this.disabledTextColor;
  579.       this.disabledTextColor = var1;
  580.       ((JComponent)this).firePropertyChange("disabledTextColor", var2, this.disabledTextColor);
  581.    }
  582.  
  583.    public void setDocument(Document var1) {
  584.       if (super.accessibleContext != null) {
  585.          this.model.removeDocumentListener((AccessibleJTextComponent)super.accessibleContext);
  586.       }
  587.  
  588.       Document var2 = this.model;
  589.       this.model = var1;
  590.       ((JComponent)this).firePropertyChange("document", var2, var1);
  591.       ((JComponent)this).revalidate();
  592.       ((Component)this).repaint();
  593.       if (super.accessibleContext != null) {
  594.          this.model.addDocumentListener((AccessibleJTextComponent)super.accessibleContext);
  595.       }
  596.  
  597.    }
  598.  
  599.    public void setEditable(boolean var1) {
  600.       if (var1 != this.editable) {
  601.          boolean var2 = this.editable;
  602.          this.editable = var1;
  603.          ((JComponent)this).firePropertyChange("editable", new Boolean(var2), new Boolean(this.editable));
  604.          ((Component)this).repaint();
  605.       }
  606.  
  607.    }
  608.  
  609.    public void setEnabled(boolean var1) {
  610.       super.setEnabled(var1);
  611.       ((Component)this).repaint();
  612.    }
  613.  
  614.    public void setFocusAccelerator(char var1) {
  615.       var1 = Character.toUpperCase(var1);
  616.       KeyStroke[] var2 = ((JComponent)this).getRegisteredKeyStrokes();
  617.       int var3 = 0;
  618.  
  619.       for(int var4 = var2.length; var3 < var4; ++var3) {
  620.          if (((JComponent)this).getActionForKeyStroke(var2[var3]) == this.focusAction) {
  621.             if (var2[var3].getKeyChar() == var1) {
  622.                return;
  623.             }
  624.  
  625.             ((JComponent)this).unregisterKeyboardAction(var2[var3]);
  626.             break;
  627.          }
  628.       }
  629.  
  630.       if (var1 != 0) {
  631.          ((JComponent)this).registerKeyboardAction(this.focusAction, KeyStroke.getKeyStroke(var1, 8), 2);
  632.       }
  633.  
  634.       char var5 = this.focusAccelerator;
  635.       this.focusAccelerator = var1;
  636.       ((JComponent)this).firePropertyChange("focusAcceleratorKey", var5, this.focusAccelerator);
  637.    }
  638.  
  639.    public void setHighlighter(Highlighter var1) {
  640.       if (this.highlighter != null) {
  641.          this.highlighter.deinstall(this);
  642.       }
  643.  
  644.       Highlighter var2 = this.highlighter;
  645.       this.highlighter = var1;
  646.       if (this.highlighter != null) {
  647.          this.highlighter.install(this);
  648.       }
  649.  
  650.       ((JComponent)this).firePropertyChange("highlighter", var2, var1);
  651.    }
  652.  
  653.    public void setKeymap(Keymap var1) {
  654.       Keymap var2 = this.keymap;
  655.       this.keymap = var1;
  656.       ((JComponent)this).firePropertyChange("keymap", var2, this.keymap);
  657.    }
  658.  
  659.    public void setMargin(Insets var1) {
  660.       Insets var2 = this.margin;
  661.       this.margin = var1;
  662.       ((JComponent)this).firePropertyChange("margin", var2, var1);
  663.       ((Container)this).invalidate();
  664.    }
  665.  
  666.    public void setOpaque(boolean var1) {
  667.       this.opaque = var1;
  668.    }
  669.  
  670.    public void setSelectedTextColor(Color var1) {
  671.       Color var2 = this.selectedTextColor;
  672.       this.selectedTextColor = var1;
  673.       ((JComponent)this).firePropertyChange("selectedTextColor", var2, this.selectedTextColor);
  674.    }
  675.  
  676.    public void setSelectionColor(Color var1) {
  677.       Color var2 = this.selectionColor;
  678.       this.selectionColor = var1;
  679.       ((JComponent)this).firePropertyChange("selectionColor", var2, this.selectionColor);
  680.    }
  681.  
  682.    public void setSelectionEnd(int var1) {
  683.       this.select(this.getSelectionStart(), var1);
  684.    }
  685.  
  686.    public void setSelectionStart(int var1) {
  687.       this.select(var1, this.getSelectionEnd());
  688.    }
  689.  
  690.    public void setText(String var1) {
  691.       try {
  692.          Document var2 = this.getDocument();
  693.          var2.remove(0, var2.getLength());
  694.          var2.insertString(0, var1, (AttributeSet)null);
  695.       } catch (BadLocationException var3) {
  696.          ((Component)this).getToolkit().beep();
  697.       }
  698.  
  699.    }
  700.  
  701.    public void setUI(TextUI var1) {
  702.       super.setUI(var1);
  703.    }
  704.  
  705.    public void updateUI() {
  706.       this.setUI((TextUI)UIManager.getUI(this));
  707.       ((Container)this).invalidate();
  708.    }
  709.  
  710.    public int viewToModel(Point var1) {
  711.       return this.getUI().viewToModel(this, var1);
  712.    }
  713.  
  714.    public void write(Writer var1) throws IOException {
  715.       Document var2 = this.getDocument();
  716.  
  717.       try {
  718.          this.getUI().getEditorKit(this).write(var1, var2, 0, var2.getLength());
  719.       } catch (BadLocationException var4) {
  720.          throw new IOException(((Throwable)var4).getMessage());
  721.       }
  722.    }
  723. }
  724.